In a typical cloud-based data center, a large collection of interconnected servers provides computing and/or storage capacity for execution of various applications. For example, a data center may comprise a facility that hosts applications and services for subscribers, i.e., customers of data centers. The data center may, for example, host all of the infrastructure equipment, such as networking and storage systems, redundant power supplies, and environmental controls. In most data centers, clusters of storage systems and application servers are interconnected via high-speed switch fabric provided by one or more tiers of physical network switches and routers. More sophisticated data centers provide infrastructure spread throughout the world with subscriber support equipment located in various physical hosting facilities.
Typical data centers host thousands or millions of virtual machines executing on servers that are interconnected by a large transport network that provides point-to-point connectivity between the virtual machines. For example, many data centers are now using layer three (L3) technologies, such as an Internet Protocol (IP) underlay to tunnel packet-based communications between virtual machines. Due to the massive number of virtual machines and servers that may be deployed in a conventional data center, the transport network must store and process significant volumes of routing and forwarding information. Moreover, conventional L3 aggregation techniques, such as aggregation of IP prefixes, is maintained in the routing information throughout the data center and tends to be fairly unworkable in large-scale data centers for many reasons, such as continual migration of virtual machines between prefixes or regions within the data center.